//axios请求二次封装
import axios from 'axios';
//设置axios为form-data
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.headers.get['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.transformRequest = [function (data) {
    let ret = ''
    for (let it in data) {
      ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
    }
    return ret
}]


/**
 * POST请求
 * @param {请求地址} url 
 * @param {请求参数} params 
 */
export const post = function (url, params) {
  return request("POST", url, params)
}

/**
 * GET请求
 * @param {请求地址} url 
 * @param {请求参数} params 
 */
export const get = function (url, params) {
  return request("GET", url, params)
}

/**
 * 网络请求
 * @param {请求方法} method
 * @param {请求地址} url 
 * @param {请求参数} params 
 */
function request(method, url, params) {
  let data = {}
  if (method == "GET") {
    data = {
      method: method,
      url: url,
      params: params
    }
  } else if (method == "POST") {
    data = {
      // dataType: "json", //数据格式:JSON
      method: method,
      url: url,
      data: params,
    }
  }
  return new Promise((resolve, reject) => {
    axios(data)
      .then(res => {
        // //返回数据的操作 可根据后台返回的数据结构自行处理
        // if (res.Flag && ((res && res.Code == 0) || (res && res.error == 0))) {
        //   if (res.Code == 0) {
        //     if (res.Data == undefined || res.Total != undefined) {
        //       resolve(res)
        //     }
        //     resolve(res.Data)
        //   }
        //   if (res.error == 0) {
        //     resolve(res)
        //   }

        //   // if(res.data.count){
        //   //     resolve(res.data)
        //   // }

        // } else {
        //   // if(res.data.code == 10){
        //   //     return router.push('/login')
        //   // }
        //   resolve(false)
        // }
        resolve(res.data)
      })
      .catch(err => {
        reject(err)
      })
  })
}

const $axios = {
  post,
  get
}

export default $axios;
